package com.alili_tv.system.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

@Setter
@Getter
@ToString
public class Message implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 回复我的 评论
     */
    private Comment comment;

    /**
     * 点赞信息
     */
    private Likes likes;

    /**
     * 载体: 载体就是被回复/点赞的评论或者视频标题
     * comment.content          carrier
     * 总计1234人点赞呢我的视频     视频标题
     * 总计1234人点赞了我的评论     我的评论
     * 小黑回复了我的评论           我的评论
     * 小红对我的视频发表了评论      视频标题
     */
    private String carrier;

    private Long videoId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    private LocalDateTime time;

    /**
     * 消息类型： 1:收到的赞，2:回复我的
     */
    private Integer type;
}
